//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef COMPACTMOTIFSEQUENCE_H
#define	COMPACTMOTIFSEQUENCE_H
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "libraries.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class CompactMotifSequence {

  private:

    String* filenameFASTA;
    String* filenameMotif;
    String* filenameListRES;

    String* locationDB;
      
  protected:    
      
    bool    SplitColumn(char*, TListE <String>*, char*);
    bool    SplitColumn(char*, TListE <String>*, const char*);

  public:

    CompactMotifSequence();
    CompactMotifSequence(const CompactMotifSequence&);
    CompactMotifSequence(const CompactMotifSequence*);
    
    ~CompactMotifSequence();

    void    FilenameFASTA(String*);
    void    FilenameMotif(String*);
    void    FilenameListRES(String*);
    void    LocationDB(String*);

    String* FilenameFASTA(void);
    String* FilenameMotif(void);
    String* FilenameListRES(void);
    String* LocationDB(void);

    bool    ConstructReduceBindingSiteMotif(String*, String*, String*);
    bool    ConstructReduceBindingSiteMotifSMI(String*, String*, String*); /**/

    bool    ConstructCategoryReduceBindingSiteMotif(String*, String*, String*); /**/
    bool    ConstructCategoryReduceBindingSiteMotifSMI(String*, String*, String*); /**/

    bool    NumberResiduesBindingDistance(String*, String*); /**/
    bool    NumberCategoryResidueBindingDistance(String*, String*); /**/

};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif

